package com.smit.dvb;

import com.smit.dvb.ci.CIControl;
import com.smit.dvb.epg.EpgControl;
import com.smit.dvb.scan.ScanControl;
import com.smit.dvb.service.ServiceControl;
import com.smit.dvb.setup.SetupControl;
import com.smit.dvb.system.SystemControl;
import com.smit.dvb.update.UpdateControl;

/**
 * DVB服务管理类
 */
public abstract class DVBManager {
    /** 初始化管理类资源 */
    public abstract void initialize();
    /** 释放管理类资源 */
    public abstract void release();

    /**
     * 获取DVBServie对象
     * @return DVBService对象
     */
    public abstract DVBService getDVBService();

    /**
     * 获取CIControl对象
     * @return CIControl对象
     */
    public abstract CIControl getCIControl();

    /**
     * 获取Epg控制对象
     * @return Epg控制对象
     */
    public abstract EpgControl getEpgControl();

    /**
     * 获取搜台控制对象
     * @return 搜台控制对象
     */
    public abstract ScanControl getScanControl();

    /**
     * 获取节目控制对象
     * @return 节目控制对象
     */
    public abstract ServiceControl getServiceControl();

    /**
     * 获取DVB设置对象
     * @return DVB设置对象
     */
    public abstract SetupControl getSetupControl();

    /**
     * 获取DVB系统对象
     * @return DVB系统对象
     */
    public abstract SystemControl getSystemControl();

    /**
     * 获取DVB固件更新对象
     * @return DVB固件更新对象
     */
    public abstract UpdateControl getUpdateControl();
}